The advantages of virtual machine technology have become widely recognized. Among these advantages is the ability to run multiple virtual machines or virtual applications on a single host platform, which makes better use of the capacity of the hardware while ensuring that each user enjoys the features of a “complete” computer. With the growing complexity of computer software and the growing reliance on software systems in everyday life and business, high performance in software execution has become expected by users. Performance of virtual machine software is particularly important because this software is often run on client systems that are memory and/or processor constrained, for example on wireless devices such as PDAs and smartphones or on thin clients or zero clients that tend to have less memory and processing power than a traditional computer system. The reduction of memory and/or processor usage by virtual clients remains a key goal for optimal performance.